﻿using System.Collections.Generic;
using Aquarinum.WebSocekt.Core.Entitys;

namespace Aquarinum.Base.Infrastructure.WebSocket.Interface
{
    /// <summary>
    ///     客户端信息提供接口
    /// </summary>
    public interface IClientInfosProvider
    {
        /// <summary>
        ///     找出客户端所属于的分组
        /// </summary>
        /// <remarks>用于客户端建立链接时把自己分组关系建立</remarks>
        /// <param name="clientid"></param>
        /// <returns></returns>
        IList<string> GetGroupsByClientId(string clientid);

        /// <summary>
        ///     找出所有客户端
        /// </summary>
        /// <remarks>用于客户端建立链接时把自己分组关系建立</remarks>
        /// <returns></returns>
        IList<ClientEntity> GetClients();

        /// <summary>
        ///     找出改分组下所有的客户端id
        /// </summary>
        /// <param name="groupId"></param>
        /// <returns></returns>
        IList<ClientEntity> GetClientsByGroupId(string groupId);
    }
}